<?php
class ModuloKakoon extends Datos
{
	public $modulokakoon_id;
	public $nombre;
	public $descripcion;
	public $activo;
	public $url;
	public $base;

	const TABLA             = "moduloskakoon";
	const CLAVE_PRIMARIA    = "modulokakoon_id";

	public function estaActivo()
	{
		return (ConstantesKakoon::SI == $this->getPropiedad("activo"));
	}

	public function registraTipos()
	{
		$valores = array();
		$valores[ConstantesKakoon::SI] = ConstantesKakoon::SI;
		$valores[ConstantesKakoon::NO] = ConstantesKakoon::NO;
		 
		$this->setTipo("nombre",      new TipoDatoLiteral(100));
		$this->setTipo("descripcion", new TipoDatoLiteral(100));
		$this->setTipo("url",         new TipoDatoLiteral(100));
		$this->setTipo("activo",      new TipoDatoSeleccion($valores));
		$this->setTipo("base",        new TipoDatoLiteral(100));
	}

	public function registraEsenciales()
	{
		$this->setEsencial("nombre");
		$this->setEsencial("descripcion");
		$this->setEsencial("activo");
		$this->setEsencial("url");
		$this->setEsencial("base");
	}

	public function registraSoloLectura()
	{
		$this->setSoloLectura("descripcion");
		$this->setSoloLectura("nombre");
		$this->setSoloLectura("url");
		$this->setSoloLectura("base");
	}

	public function registraUnicos()
	{
		$this->setUnico("nombre");
		$this->setUnico("descripcion");
	}

	public function registraMetas()
	{
		$this->setInfo("nombre",      "Nombre",       "Nombre del modulo");
		$this->setInfo("descripcion", "Descripcion",  "Descripcion del modulo, visible unicamente desde la administracion");
		$this->setInfo("activo",      "Activo",       "Indica si el modulo esta activo y funcionando en el sistema");
		$this->setInfo("url",         "URL Base",     "URL base tanto para la parte web como para el administrador");
		$this->setInfo("base",        "Base",         "Nombre base para el directorio de instalacion");
	}
	 
	public function getTabla()
	{
		return self::TABLA;
	}

	public function getClavePrimaria()
	{
		return self::CLAVE_PRIMARIA;
	}
}
?>